package com.turing.post.antimoney.util;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@SuppressWarnings("serial")
@Entity
@Table(name = "AlarmRule")
public class AlarmRule implements Serializable {

	public AlarmRule() {
		super();
	}

	/**
	 * 规则ID
	 */
	private BigInteger alarmRuleId;

	@Id
	@Column(name = "ALARMRULEID", nullable = false)
	public BigInteger getAlarmRuleId() {
		return alarmRuleId;
	}

	public void setAlarmRuleId(BigInteger alarmRuleId) {
		this.alarmRuleId = alarmRuleId;
	}

	/**
	 * 预警规则描述
	 */
	private String alarmRuleDesc;

	@Column(name = "ALARMRULEDESC", nullable = false)
	public String getAlarmRuleDesc() {
		return alarmRuleDesc;
	}

	public void setAlarmRuleDesc(String alarmRuleDesc) {
		this.alarmRuleDesc = alarmRuleDesc;
	}

	/**
	 * 预警规则类型
	 */
	private String alarmRuleType;

	/**
	 * 0-交易
	 */
	public static final String ALARMRULETYPE_TRAN = "0";

	/**
	 * 1-购卡
	 */
	public static final String ALARMRULETYPE_SALE = "1";

	/**
	 * 2-转入/转出
	 */
	public static final String ALARMRULETYPE_TRANSFER = "2";

	/**
	 * 9-其他
	 */
	public static final String ALARMRULETYPE_OTHER = "9";

	@Column(name = "ALARMRULETYPE", nullable = false)
	public String getAlarmRuleType() {
		return alarmRuleType;
	}

	public void setAlarmRuleType(String alarmRuleType) {
		this.alarmRuleType = alarmRuleType;
	}

	/**
	 * 发卡商号
	 */
	private String issueCompanyNo;

	@Column(name = "ISSUECOMPANYNO", nullable = false)
	public String getIssueCompanyNo() {
		return issueCompanyNo;
	}

	public void setIssueCompanyNo(String issueCompanyNo) {
		this.issueCompanyNo = issueCompanyNo;
	}

	/**
	 * jndi名称
	 */
	private String JNDIName;

	@Column(name = "JNDINAME", nullable = false)
	public String getJNDIName() {
		return JNDIName;
	}

	public void setJNDIName(String JNDIName) {
		this.JNDIName = JNDIName;
	}

	/**
	 * 规则方法参数
	 */
	private String ruleParameter;

	@Column(name = "RULEPARAMETER", nullable = true)
	public String getRuleParameter() {
		return ruleParameter;
	}

	public void setRuleParameter(String ruleParameter) {
		this.ruleParameter = ruleParameter;
	}

	/**
	 * 状态
	 */
	private String status;

	/**
	 * 0-未激活
	 */
	public static final String STATUS_UNACTIVATE = "0";

	/**
	 * 1-激活
	 */
	public static final String STATUS_ACTIVATE = "1";

	@Column(name = "STATUS", nullable = false)
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * 上次修改时间
	 */
	private Date lastModifyTime;

	@Column(name = "LASTMODIFYTIME", nullable = false)
	public Date getLastModifyTime() {
		return lastModifyTime;
	}

	public void setLastModifyTime(Date lastModifyTime) {
		this.lastModifyTime = lastModifyTime;
	}

	/**
	 * 上次修改人
	 */
	private BigInteger lastOperId;

	@Column(name = "LASTOPERID", nullable = false)
	public BigInteger getLastOperId() {
		return lastOperId;
	}

	public void setLastOperId(BigInteger lastOperId) {
		this.lastOperId = lastOperId;
	}

	/**
	 * 机构自定可疑交易标准编号
	 */
	private String udsiNo;

	@Column(name = "UDSINO", nullable = false)
	public String getUdsiNo() {
		return udsiNo;
	}

	public void setUdsiNo(String udsiNo) {
		this.udsiNo = udsiNo;
	}

	/**
	 * 备注
	 */
	private String remark;

	@Column(name = "REMARK", nullable = true)
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
}